In positioning methods based on satellites, the positioning receiver attempts to receive a signal transmitted by the satellites. The signal contains phase-modulated information, such as the orbit parameters of the satellites. In practical situations, however, the signal strength in the positioning receiver may be so weak, particularly indoors, that acquisition of the signal is difficult. In particular, acquisition of a carrier wave modulated with a spreading code is complicated by 50 bps data transmission when operating at such signal levels on which data reception is impossible (and when the data must be obtained e.g. via a mobile communication network).
One known positioning system is the GPS system (Global Positioning System) comprising more than 30 satellites, of which normally a maximum of 12 are simultaneously within the sight of a receiver. These satellites transmit e.g. satellite orbit data (Ephemeris data) as well as data on the time of the satellite. A receiver to be used in positioning normally determines its position by computing the propagation time of a signal transmitted substantially simultaneously from several satellites belonging to the positioning system to the receiver. For positioning, the receiver must typically receive the signals of at least four satellites within sight, to be able to compute the position.
Each satellite operating in the GPS system transmits a ranging signal at a carrier frequency of 1575.42 MHz called L1. This frequency is also indicated with 154f0, where f0=10.23 MHz. Furthermore, the satellites transmit another ranging signal at a carrier frequency of 1227.6 MHz called L2, i.e. 120f0. In the satellite, the modulation of these signals is performed with at least one pseudo sequence. This pseudo sequence is different for each satellite. As a result of modulation, a code-modulated wideband signal is generated. The modulation technique used in the receiver makes it possible to distinguish between the signals transmitted by different satellites, although the carrier frequencies used in the transmission are substantially the same. This modulation technique is called code division multiple access (CDMA). In each satellite, for modulating the L1 signal, the pseudo sequence used is e.g. a so-called C/A code (Coarse/Acquisition code), which is a code from the family of the Gold codes. Each GPS satellite transmits a signal by using an individual C/A code. The codes are formed as a modulo-2 sum of two 1023-bit binary sequences. The first binary sequence G1 is formed with a polynome X10+X3+1, and the second binary sequence G2 is formed by delaying the polynome X10+X9+X8+X6+X3+X2+1 in such a way that the delay is different for each satellite. This arrangement makes it possible to generate different C/A codes by using identical code generators. The C/A codes are thus binary codes whose chipping rate in the GPS system is 1.023 MHz. The C/A code comprises 1023 chips, wherein the repetition interval (epoch) of the code is 1 ms. The carrier of the L1 signal is further modulated by navigation information at a bit rate of 50 bit/s. The navigation information comprises information about the “health” and orbit of the satellite, parameters related to the local clock of the satellite, etc. In satellites of the GPS system, e.g. so-called atomic clocks are used as the local clock.
During their operation, the satellites monitor the condition of their equipment. The satellites may use for example so-called watch-dog operations to detect and report possible faults in the equipment. The errors and malfunctions can be instantaneous or longer lasting. On the basis of the health data, some of the faults can possibly be compensated for, or the information transmitted by a malfunctioning satellite can be totally disregarded. Furthermore, in a situation in which signals of more than four satellites can be received, the information received from different satellites can be weighted differently on the basis of the health data. Thus, it is possible to minimize the effect of errors on measurements, possibly caused by satellites which seem unreliable.
To detect the signals of the satellites and to identify the satellites, the receiver must perform acquisition, whereby the receiver searches for the signal of each satellite at the time and attempts to acquire this signal so that the signal propagation times can be measured and the data transmitted with the signal can be received and demodulated.
In receivers of prior art, the time taken for this acquisition depends, for example, on the strength of the received signal. Typically, the weaker the received signal is, the longer an integration must be carried out in each element of the space to be searched (correlation/frequency), to detect a possible signal. Typically, in prior art GPS receivers designed for outdoor use, the acquisition of satellite signals takes some tens of seconds or a few minutes, if the received signal strength is relatively high, in the order of −120 to −130 dBm. However, in a situation of positioning indoors or in such a place where the received signal is attenuated, for example, by the effect of buildings or other obstacles in the terrain, the acquisition time is considerably prolonged.
In the GPS system, the satellites transmit a spread spectrum modulated signal which is generated with an individual spreading code in each satellite. Thus, the receiver attempts to be synchronized with the transmitted signal, i.e., the receiver attempts to determine the code phase and Doppler shift of the signal. In practice, the Doppler shift can be in the order of ±6 kHz. In a corresponding manner, the length of the code used in the modulation is 1023 chips, wherein 1023 different alternatives must be scanned to find out the correct code phase. Thus, scanning through the whole two-dimensional search space takes a long time. Furthermore, the determination of the correlation maximum is complicated by the fact that the spread spectrum modulated signal is still modulated with a data signal of 50 baud. Due to the effect of the unknown data modulation, the inaccuracy of the frequency estimate is several tens of hertzes, and the measurement result is thus not directly suitable to be used as an initialization for the carrier wave tracking phase locked loop.
Consequently, in this description, the spreading code refers to a code with which the carrier wave is modulated.
The positioning receiver must perform the acquisition e.g. when the receiver is turned on and also in a situation in which the receiver has not been capable of receiving the signal of any satellite for a long time. Such a situation can easily occur e.g. in portable devices, because the device is moving and the antenna of the device is not always in an optimal position in relation to the satellites, which impairs the strength of the signal coming in the receiver. Also in urban areas, buildings have an effect on the signal to be received.
The positioning arrangement has two primary functions:    1. to calculate the pseudo range between the receiver and the different GPS satellites, and    2. to determine the position of the receiver by utilizing the calculated pseudo ranges and the position data of the satellites. The position data of the satellites at each time can be calculated on the basis of the Ephemeris and time correction data received from the satellites or via the mobile communication network.
Distances to the satellites are called pseudo ranges, because the time is not accurately known in the receiver from the beginning. Thus, the determinations of position and time are iterated until a sufficient accuracy is achieved with respect to time and position. Because the time is not known with absolute precision, the position and the time must be determined by iteratively solving a linearized set of equations having x,y,z and time as unknowns.
The pseudo range can be computed by measuring the pseudo transmission time delays between the signals of the different satellites.
Almost all known GPS receivers utilize correlation methods for computing the distances. In a positioning receiver, pseudo sequences of different satellites are stored or generated locally. A received signal is subjected to conversion to an intermediate frequency (down conversion), whereafter the receiver multiplies the received signal with the stored pseudo sequence. The signal obtained as a result of the multiplication is integrated or low-pass filtered. The presence of the satellite signal can be determined on the basis of this filtered or integrated signal.
The above-mentioned acquisition and frequency control process must be iterated for each signal of a satellite received in the receiver. Consequently, this process takes a lot of time, particularly in a situation, in which the signals to be received are weak. To speed up this process, some prior art receivers use several correlators, wherein it is possible to search for several correlation peaks simultaneously. In practical solutions, the process of acquisition and frequency control cannot be accelerated very much solely by increasing the number of correlators, because the number of correlators cannot be increased infinitely.
In some prior art GPS receivers, thee FFT technique has been used in connection with conventional correlators to determine the Doppler shift of the received GPS signal. These receivers use the correlation to restrict the bandwidth of the received signal to 10 to 30 kHz. This narrow-band signal is analysed with FFT algorithms to determine the carrier frequency.
International patent application WO 97/14057 presents a GPS receiver and a method for processing GPS signals. The receiver presented in this reference comprises primarily two separate receivers, of which the first receiver is intended for use in a situation in which the received signal strength is sufficiently high, and the second receiver is intended for use in a situation in which the received signal strength is not sufficient for sufficiently accurate positioning by using the first receiver. In this second receiver, the received signal is digitized and stored in memory means, wherein these stored signals are later used in a digital signal processor. The digital signal processor performs convolution operations on the received digitized signal. The aim of these convolution operations is to calculate the pseudo distances. Typically, 100 to 100 epochs (PM frames) are stored in the memory means, corresponding to a signal with the length of 100 ms to 1 s. After this, the stored code corresponding to the code of the satellite under examination is retrieved from the memory of the receiver for use in the analysis of the received signal.
Also the Doppler shift is removed in the receiver. The extent of this Doppler shift is determined either in the first receiver or on the basis of data received from a base station belonging to the GPS system. This is followed by coherent summing of sequential frames. This data obtained as a result of the summing is subjected to fast Fourier transform. The Fourier transform result is multiplied by the complex conjugate of the Fourier transform of the reference signal stored in the memory means. This product of the multiplication is further subjected to inverse Fourier transform, producing a set of correlation results. Consequently, in this reference, the correlation is replaced by the Fourier transform, thereby reducing the number of arithmetical operations. According to the reference, the method accelerates the positioning 10 to 100 times compared with the solutions known at the time of filing of said publication.